package com.study.services;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Service;

import com.study.model.jdao.EmpJdao;
import com.study.model.mdao.EmpMdao;
import com.study.model.pojo.Emp;
import com.study.model.pojo.Empwithright;

@Service
public class EmpServices {
	@Autowired
	EmpJdao edao;
	
	@Autowired
	EmpMdao mdao;
	
	@Autowired
	EmpwithrightServices ewr;
	
	public List<Emp> findAll(){
		return edao.findAll();
	};
	public List<Emp> findEmpnob(){
		return edao.queryNoboss();
	};
	public  List<Emp> findWithoutdept(){
		return edao.findWithoutdept();
	};
	
	public Emp queryByidANDpwd(int id, String pwd){
		return	edao.queryByeidAndpwd(id, pwd);
	}
	
	public void updatePWD(Map m){
		mdao.updatePWD(m);
	}
	
	//新员工入职
	public void addEmp(Emp e){
		e.setPwd("123456");
		e.setState(0);
		mdao.addEmp(e);
		
	}
	public int queryMaxid() {
		return mdao.queryMaxid();
	};
	
	public void updatedeptByid(Map m){
		mdao.updatedeptByid(m);
	}
	public int queryNumBydept(int deptno){
		return mdao.queryNumBydept(deptno);
	};
	
	public List<Emp> findManager(){
		return edao.findManager();
	};
	
	public void updateTelandSal(Map m){
		 mdao.updateTelandSal(m);
	}
	public void removeMngdeptByid(int eid){
		mdao.removeMngdeptByid(eid);
	}
	public void MngtoStuffByid(int eid) {
		mdao.MngtoStuffByid(eid);
	}
	public List<Emp> findAllbydept(int deptno){
		return edao.findAllbydept(deptno);
	}
	/**
	 * 查询没有部门的员工(且job不是boss)*/
	public List<Emp> findNoright(int deptno){
		return edao.findNoright(deptno);
	};
	/**
	 * 查询部门中没有该权限的员工(且job不是boss)*/
	public List<Emp> findNothisright(int deptno,int rid){
		return edao.findNothisright(deptno, rid);
	};
	/**
	 * 查询部门中有该部门权限的员工*/
	public List<Emp> findhasright(int deptno){
		return edao.findhasright(deptno);
	}
	/**
	 * 根据员工ID查询经理ID*/
	public Integer findMng(int eid){
		return edao.findMng(eid);
	};
	/**
	 * 根据员工ID查询姓名*/
	public String findEnamebyEid(int eid){
		return edao.findEnamebyEid(eid);
	}
	/**
	 * 查询boss的ID*/
	public Integer findBOSS(){
		return edao.findBOSS();
	}
	/**
	 * 员工离职*/
	public void dimission(int eid){
		mdao.dimission(eid);
	}
	/**
	 * 查找员工姓名*/
	public String findEname(int eid){
		return mdao.findEname(eid);
	};
	/**
	 * 查找员工职位*/
	public String findJob(int eid){
		return edao.findJobbyEid(eid);
	};
}
